package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.AUser;
import com.ruoyi.system.domain.UserOper;
import com.ruoyi.system.domain.vo.UserOperVO;
import org.apache.ibatis.annotations.Param;

import javax.swing.*;

/**
 * 小程序用户Mapper接口
 *
 * @author ruoyi
 * @date 2024-05-16
 */
public interface AUserMapper
{
    /**
     * 查询小程序用户
     *
     * @param id 小程序用户主键
     * @return 小程序用户
     */
    public AUser selectAUserById(Long id);

    /**
     * 查询小程序用户列表
     *
     * @param aUser 小程序用户
     * @return 小程序用户集合
     */
    public List<AUser> selectAUserList(AUser aUser);

    /**
     * 新增小程序用户
     *
     * @param aUser 小程序用户
     * @return 结果
     */
    public int insertAUser(AUser aUser);

    /**
     * 修改小程序用户
     *
     * @param aUser 小程序用户
     * @return 结果
     */
    public int updateAUser(AUser aUser);


    /**
     * 修改小程序用户
     *
     * @param id 用户 id
     * @param role 角色
     * @return 结果
     */
    public int updateRoleById(@Param("id") Long id,@Param("role") String role);

    /**
     * 删除小程序用户
     *
     * @param id 小程序用户主键
     * @return 结果
     */
    public int deleteAUserById(Long id);

    /**
     * 批量删除小程序用户
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAUserByIds(Long[] ids);

    /**
     *  openId 查询
     *
     * @param id openId 微信返回的openId
     * @return 结果
     */
    public AUser selectAUserByOpenId (String id);

    /**
     *  phone 查询
     *
     * @param phone 手机号
     * @return 结果
     */
    public AUser selectAUserByPhone (String phone);

    int updateXcxAUser(String openId);

    List<UserOperVO> UserOperList(UserOper userOper);

    List<AUser> selectAUserListAll();

    AUser selectUserByMiniOpenId(String miniopenId);

    List<AUser> selectAUserByHeadImg();

    List<AUser> selectAUserByNickName();
}
